package com.bw.controller;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.bw.bean.*;
import com.bw.service.ServicePnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Collections;
import java.util.List;
import java.util.Objects;

@RestController
@Controller
public class Concroller {
    @Autowired
    ServicePnum servicePnum;

    @RequestMapping("list")
    public Object list(){
        List<Pnum> list = servicePnum.list();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONArray objects = new JSONArray();
        JSONObject o1 = new JSONObject();
        JSONObject o2 = new JSONObject();
        JSONObject o3 = new JSONObject();
        for (Pnum pnum : list) {
            o1.put("name","接单数");
            o1.put("desc","访问量是指页面被访问的次数");
            o1.put("value",pnum.getC1());
            objects.add(o1);
        }
        for (Pnum pnum : list) {
            o2.put("name","发单数");
            o2.put("desc","访问量是指页面被访问的次数");
            o2.put("value",pnum.getS1());
            objects.add(o2);
        }
        for (Pnum pnum : list) {
            o3.put("name","完成运单数");
            o3.put("desc","访问量是指页面被访问的次数");
            o3.put("value",pnum.getS2());
            objects.add(o3);
        }

        jsonObject.put("data",objects);
        return jsonObject;
    }
    @RequestMapping("listi")
    public Object listi(){
        List<Znum> listi = servicePnum.listi();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONArray objects = new JSONArray();
        for (Znum znum : listi) {
            JSONObject jsonObject1 = new JSONObject();
            jsonObject1.put("name",znum.getName());
            jsonObject1.put("value",znum.getNum());
            objects.add(jsonObject1);
        }
        jsonObject.put("data",objects);
        return jsonObject;
    }
    @RequestMapping("listd")
    public Object listd(){
        List<Dnum> listd = servicePnum.listd();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");

        JSONObject jsonObject1 = new JSONObject();
        JSONArray shuzu = new JSONArray();
        for (Dnum dnum : listd) {
            shuzu.add(dnum.getRname());
        }

        JSONArray shuzu2 = new JSONArray();
        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","距离");
        JSONArray shuzu3 = new JSONArray();
        for (Dnum dnum : listd) {
            shuzu3.add(dnum.getNum2());
        }
        shuzu2.add(jsonObject2);
        jsonObject1.put("categories",shuzu);
        jsonObject2.put("data",shuzu3);
        jsonObject1.put("series",shuzu2);
        jsonObject.put("data",jsonObject1);
        return jsonObject;
    }


    @RequestMapping("listl")
    public Object listl(){
        List<LL> listl = servicePnum.listl();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status", 0);
        jsonObject.put("msg", "");

        JSONObject jsonObject1 = new JSONObject();
        JSONArray categories = new JSONArray(); // 更清晰的变量名
        JSONArray data = new JSONArray(); // 同样的

        for (LL ll : listl) {
            categories.add(ll.getBb()); // 假设getBb()返回的是分类名称或标签
            data.add(ll.getC()); // 假设getC()返回的是与分类对应的值或次数
        }

        // 构建series数组（这取决于你的图表库的需求）
        // 假设我们只需要一个系列，并且它包含所有的数据点
        JSONObject series = new JSONObject();
        series.put("name", "次数"); // 系列名称
        series.put("data", data); // 系列数据

        // 将数据放入jsonObject1
        jsonObject1.put("categories", categories);
        jsonObject1.put("series", new JSONArray(Collections.singletonList(series))); // 包装在JSONArray中

        // 将jsonObject1放入最终的jsonObject
        jsonObject.put("data", jsonObject1);

        return jsonObject;
    }


    @RequestMapping("listx")
    public Object listx(){
        List<Xnum> listx = servicePnum.listx();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject jsonObject1 = new JSONObject();

        JSONArray shuzu1 = new JSONArray();

        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","省份名");
        jsonObject2.put("id","oname");
        shuzu1.add(jsonObject2);

        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("name","距离");
        jsonObject3.put("id","distance");
        shuzu1.add(jsonObject3);

        JSONArray shuzu2 = new JSONArray();
        for (Xnum xnum : listx) {
            JSONObject jsonObject4 = new JSONObject();
            jsonObject4.put("oname",xnum.getOname());
            jsonObject4.put("distance",xnum.getDistance());
            shuzu2.add(jsonObject4);
        }

        jsonObject1.put("columns",shuzu1);
        jsonObject1.put("rows",shuzu2);
        jsonObject.put("data",jsonObject1);
        return jsonObject;
    }
    @RequestMapping("listS")
    public Object listS(){
        List<Sc> scs = servicePnum.listS();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONArray shuzu1 = new JSONArray();

        JSONObject o2 = new JSONObject();
        JSONObject o3 = new JSONObject();

        for (Sc sc : scs) {
            o2.put("name","运输里程");
            o2.put("value",sc.getTance());
            shuzu1.add(o2);
        }
        for (Sc sc : scs) {
            o3.put("name","运输时长");
            o3.put("value",sc.getTime());
            shuzu1.add(o3);
        }
        jsonObject.put("data",shuzu1);
        return jsonObject;
    }
    @RequestMapping("count")
    public Object count(){
        Double count = servicePnum.Count();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");

        jsonObject.put("data",count);
        return jsonObject;
    }
    @RequestMapping("lists")
    public Object lists(){
        List<SS> lists = servicePnum.lists();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");

        JSONObject jsonObject1 = new JSONObject();
        JSONArray shuzu1 = new JSONArray();



        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("name","机构");
        jsonObject3.put("id","oname");
        shuzu1.add(jsonObject3);

        JSONObject jsonObject4 = new JSONObject();
        jsonObject4.put("name","次数");
        jsonObject4.put("id","time");
        shuzu1.add(jsonObject4);

        JSONArray shuzu2 = new JSONArray();
        for (SS list : lists) {
         JSONObject jsonObject5 = new JSONObject();

        jsonObject5.put("oname",list.getOname());
        jsonObject5.put("time",list.getTime());
        shuzu2.add(jsonObject5);
        }

        jsonObject1.put("columns",shuzu1);
        jsonObject1.put("rows",shuzu2);
        jsonObject.put("data",jsonObject1);
        return jsonObject;
    }


}
